package com.empire.module.member.controller.admin.internetarticle.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Schema(description = "管理后台 - 互联网文章新增/修改 Request VO")
@Data
public class InternetArticleSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8223")
    private Long id;

    @Schema(description = "账号来源,字典主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "账号来源,字典主键id不能为空")
    private Long dictionaryType;

    @Schema(description = "原文章id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17514")
    @NotEmpty(message = "原文章id不能为空")
    private String articleId;

    @Schema(description = "原文章relate_article_gen_uuid对应的murmurhash值，用来查询多媒体表internet_article_media对应的ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19373")
    @NotNull(message = "原文章relate_article_gen_uuid对应的murmurhash值，用来查询多媒体表internet_article_media对应的ID不能为空")
    private Long articleGenUuidHashId;

    @Schema(description = "文章url", example = "https://www.iocoder.cn")
    private String url;

    @Schema(description = "文章标题")
    private String title;

    @Schema(description = "标题翻译")
    private String titleCn;

    @Schema(description = "文章类型: 1-原创 2-转发 3-引用 4-评论", example = "1")
    private Integer articleType;

    @Schema(description = "内容文本")
    private String content;

    @Schema(description = "翻译文本")
    private String contentCn;

    @Schema(description = "发文时间戳(秒)")
    private Long publishedTime;

    @Schema(description = "发文位置")
    private String location;

    @Schema(description = "文章作者的唯一标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "19484")
    @NotEmpty(message = "文章作者的唯一标识不能为空")
    private String userGenUuid;

    @Schema(description = "文章UUID", example = "20714")
    private String articleGenUuid;

    @Schema(description = "多媒体列表")
    private String mediaList;

    @Schema(description = "所属人员ID", example = "23370")
    private Long personId;

    @Schema(description = "标签列表")
    private String tags;

}